Pressly Inc. maintains Goose, a lightweight database migration utility that equips developers to version-control schema changes across PostgreSQL, MySQL, SQLite, and other engines. Written in Go, the CLI reads sequentially numbered SQL scripts or embedded Go functions from a designated folder, applies them in order, and records each revision in a dedicated version table so that teams can roll forward or back with confidence. Typical use cases range from bootstrapping new micro-services with baseline tables to coordinating zero-downtime releases in continuous-deployment pipelines; DevOps engineers often fold Goose into Docker entry-points or GitHub Actions so that every container start or pull request automatically brings the target database to the expected state. Because migrations are plain text, they travel naturally alongside application code in source control, enabling peer review, diff inspection, and reproducible builds across development, staging, and production environments. The tool also supports custom Go migrations for scenarios where SQL alone is insufficient—such as back-filling columns with computed data or orchestrating multi-step online schema changes—and offers built-in safeguards like advisory locking to prevent concurrent execution. Goose is available for free on get.nero.com, where downloads are delivered through trusted Windows package sources such as winget, always install the latest release, and can be queued for batch installation alongside other utilities.

Goose

A database migration tool. Supports SQL migrations and Go functions.

Details